﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获取地区轮廓线</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3">
	
</script>
<script src="/resources/primefaces/jquery/jquery.js"></script>
<style type="text/css">
body {
	font-size: 13px;
	margin: 10px
}

#container {
	width: 800px;
	height: 500px;
	border: 1px solid gray
}
</style>
</head>
<body>
	<div id="container"></div>
	<br /> 输入省、直辖市或县名称：
	<input type="text" id="districtName" style="width: 80px" value="重庆市" />
		<input type="button" onclick="getBoundary()" value="获取轮廓线" /> 
		<script
				type="text/javascript" >
			var countys = []
			$(function() {
				//getCountyNames();
			});

			function sleep(numberMillis) {
				var now = new Date();
				var exitTime = now.getTime() + numberMillis;
				while (true) {
					now = new Date();
					if (now.getTime() > exitTime)
						return;
				}
			}
			function getCountyNames() {
				$.getJSON("/rest/getCountyNames", function(result) {
					countys = result;
					for ( var i in countys) {
						saveBoundaryByName(countys[i]);
					}
				});
			}
			var map = new BMap.Map("container");
			map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5);
			map.addControl(new BMap.NavigationControl({
				type : BMAP_NAVIGATION_CONTROL_SMALL
			}));
			map.enableScrollWheelZoom();

			function getBoundary() {
			//	getCountyNames();
				saveBoundaryByName(document.getElementById("districtName").value);
				  var bdary = new BMap.Boundary();
				var name = document.getElementById("districtName").value;
				bdary.get(name, function(rs){       //获取行政区域
				    map.clearOverlays();        //清除地图覆盖物       
				    var count = rs.boundaries.length; //行政区域的点有多少个
				    for(var i = 0; i < count; i++){
				        var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多边形覆盖物
						
				        map.addOverlay(ply);  //添加覆盖物
				        map.setViewport(ply.getPath());    //调整视野    
						console.log(ply.getPath().length);			
						console.log(ply.points.length);			
				    }                
				});     
			}
			function saveBoundaryByName(name) {
				var bdary = new BMap.Boundary();
				bdary.get(name, function(rs) { //获取行政区域
					map.clearOverlays(); //清除地图覆盖物       
					var count = rs.boundaries.length; //行政区域的点有多少个
					for ( var i = 0; i < count; i++) {
						var ply = new BMap.Polygon(rs.boundaries[i], {
							strokeWeight : 2,
							strokeColor : "#ff0000"
						}); //建立多边形覆盖物
						map.addOverlay(ply);
						console.log("get " + name + ply.points.length);
						/* $.ajax({
							type : 'POST',
							url : "/rest/saveCountyBoundarys",
							data : JSON.stringify({
								name : name,
								points : ply.points
							}),
							success : function() {
								console.log('save ok');
							}
						}); */
					}
				});
			}
		</script>
</body>
</html>